package com.software.car.api;

import com.software.car.common.utils.CommonPage;
import com.software.car.entity.dto.request.InsertModelRequest;
import com.software.car.entity.dto.response.ModelOptionResponse;
import com.software.car.entity.dto.response.ModelResponse;
import com.software.car.entity.dto.response.ModelSimpleResponse;

import java.util.List;

/**
 *
 * 模块API
 *
 * @Author 魔法はまだ解けない
 * @Date 2021/2/3
 */
public interface ModelService {
    /**
     * 添加模块
     * @param modelDto
     * @return
     */
    int addModel(InsertModelRequest modelDto);

    /**
     * 修改模板信息
     * @param modelDto
     * @return
     */
    int updateModel(InsertModelRequest modelDto);

    /**
     *  分页处理模板列表
     * @param state
     * @param type
     * @param page
     * @param pageSize
     * @return
     */
    CommonPage getSimpleModel(Integer state,Integer type,Integer page,Integer pageSize);

    /**
     * 通过模板id获取模板信息
     * @param modelId
     * @return
     */
    ModelResponse getModel(String modelId);

    /**
     *  获取处理好的模板列表
     * @param state
     * @param type
     * @return
     */
    List<ModelSimpleResponse> getSimpleModel(Integer state, Integer type);

    /**
     * 修改模块状态
     * @param modelId
     * @param state
     * @return
     */
    int updateModel(String modelId,Integer state,String updateId);



    /**
     * 获取模块选项表
     * @param modelId
     * @return
     */
    List<ModelOptionResponse> getModelOptions(String modelId,Integer state);



}
